package org.lemon.cla.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.lemon.cla.enums.ClubStatusEnum; // 导入社团状态枚举

import java.time.LocalDateTime;

@Data
@TableName("club")
@Schema(description = "社团实体")
public class Club {

    @TableId(value = "club_id", type = IdType.AUTO)
    @Schema(description = "社团ID", example = "1")
    private Long clubId;

    @TableField("club_name")
    @Schema(description = "社团名称", example = "编程社")
    private String clubName;

    @TableField("logo_url")
    @Schema(description = "Logo URL", example = "http://example.com/club_logo.png")
    private String logoUrl;

    @Schema(description = "描述", example = "专注于编程技术交流与项目开发")
    private String description;

    @TableField("creator_id")
    @Schema(description = "创建者ID (管理员ID)", example = "101")
    private Long creatorId;

    @TableField("create_time")
    @Schema(description = "创建时间", example = "2024-06-22T10:00:00")
    private LocalDateTime createTime;

    @Schema(description = "社团状态", example = "待审核", allowableValues = {"待审核", "已批准", "已拒绝"})
    private ClubStatusEnum status; // 直接使用枚举类型
}